home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / projects.arc / PROJECTS.BAS next >
Encoding:
BASIC Source File  |  1986-04-26  |  7.5 KB  |  157 lines

  1. 10 DIM P$(100),PRIORITY(100),HOURS(100),COST(100),CUMCOST(100),CUMHOURS(100)
  2. 20 CLS : OPEN "I",#1,"PROJECTS.DAT"
  3. 30 FOR I=1 TO 100 : INPUT #1,N,P$(N),PRIORITY(N),HOURS(N),COST(N),CUMCOST(N),CUMHOURS(N) : NEXT I : CLOSE #1
  4. 40 CLS:N=0:COLOR 13,0,0:LOCATE 1,29:PRINT "HOUSEHOLD PROJECTS DATA BASE"
  5. 50 COLOR 3,0,0 : LOCATE 3,37 : PRINT "M E N U" : COLOR 4,0,0
  6. 60  LOCATE 6,1 :PRINT "E      ENTER DATA"
  7. 70  LOCATE 10,1 :PRINT "D      DISPLAY DATA"
  8. 80  LOCATE 12,1 :PRINT "P      PRINT REPORT"
  9. 90  LOCATE  8,1 :PRINT "U      UPDATE DATA BASE"
  10. 100  LOCATE 14,1 :PRINT "S      SORT DATA BASE"
  11. 110  LOCATE 16,1 :PRINT "Q      EXIT TO BASIC MODE"
  12. 120  LOCATE 18,1 :PRINT "X      EXIT TO DOS"
  13. 130 LOCATE 21,1:COLOR 22,0,0:PRINT "E N T E R   C O M M A N D ":COLOR 2,0,0
  14. 140 LOCATE 4,60 :COLOR 9,0,0: PRINT DATE$
  15. 150 LOCATE 6,60:COLOR 6,0,0:PRINT TIME$:Z$=INKEY$:IF Z$ = "" THEN 150
  16. 160 COLOR 2,0,0:IF Z$ = "E" OR Z$ = "e" THEN 240
  17. 170 IF Z$ = "D" OR Z$ = "d" THEN 770
  18. 180 IF Z$ = "S" OR Z$ = "s" THEN 930
  19. 190 IF Z$ = "U" OR Z$ = "u" THEN 1090
  20. 200 IF Z$ = "P" OR Z$ = "p" THEN 1120
  21. 210 IF Z$ = "Q" OR Z$ = "q" THEN 1540
  22. 220 IF Z$ = "X" OR Z$ = "x" THEN 1530
  23. 230 PRINT "INVALID RESPONSE * PLEASE RETRY" : GOTO 140
  24. 240 CLS : N=0 : COLOR 13,0,0 : LOCATE 1,33 : PRINT "PROJECTS DATA BASE"
  25. 250 COLOR 12,0,0 : LOCATE 12,5 : PRINT "HIT ENTER KEY TO DISPLAY MENU"
  26. 260 COLOR 2,0,0 : LOCATE 4,1 : PRINT "PROJECT NUMBER"
  27. 270 PRINT "PROJECT"
  28. 280 PRINT "PRIORITY"
  29. 290 PRINT "ESTIMATED COST"
  30. 300 PRINT "ESTIMATED HOURS"
  31. 310 LOCATE 4,1:INPUT "PROJECT NUMBER ";N:IF N=0 THEN 750
  32. 320 FOR I=15 TO 23:LOCATE I,1:PRINT "                                   ":NEXT I
  33. 330 IF P$(N) = "" THEN 450
  34. 340 LOCATE 15,1 : COLOR 14,0,0 : PRINT "CURRENT CONTENTS OF INTERSECTION"
  35. 350 LOCATE 22,1 : COLOR 1,0,0 : PRINT "OPTIONS"
  36. 360 LOCATE 22,10 : COLOR 3,0,0 : PRINT "<RET> NO CHANGE TO CURRENT LINE"
  37. 370 LOCATE 23,10 : COLOR 3,0,0 : PRINT "  =   NO CHANGE TO THIS PROJECT"
  38. 380 LOCATE 24,10 : COLOR 3,0,0 : PRINT "  #   REMOVE THIS PROJECT";
  39. 390 LOCATE 17,15: PRINT "                                                     "
  40. 395 LOCATE 17,1 : COLOR 6,0,0
  41. 400 PRINT "PROJECT        ";P$(N)
  42. 410 PRINT "PRIORITY       ";PRIORITY(N)
  43. 420 PRINT "ESTIMATED COST ";COST(N)
  44. 430 PRINT "ESTIMATED HOURS";HOURS(N)
  45. 440 GOTO 460
  46. 450 LOCATE 19,1:COLOR 14,0,0:PRINT "CURRENT INTERSECTION EMPTY":COLOR 2,0,0
  47. 460 LOCATE 5,1 : COLOR 2,0,0 : X$=P$(N)
  48. 470 INPUT "PROJECT        ";P$(N)
  49. 480 LOCATE 23,10 : PRINT "                                               "
  50. 490 LOCATE 24,10 : PRINT "                                               ";
  51. 500 IF P$(N) <> "" THEN 550
  52. 510 P$(N)=X$
  53. 520 LOCATE 15,1 : COLOR 13,0,0  : PRINT "CURRENT PROJECT NAME NOT CHANGED" : COLOR 2,0,0
  54. 530 LOCATE 6,1 : COLOR 2,0,0
  55. 540 GOTO 630
  56. 550 IF P$(N) <> "=" THEN 590
  57. 560 P$(N)=X$
  58. 570 LOCATE 15,1 : COLOR 13,0,0  : PRINT "CURRENT INTERSECTION NOT CHANGED" : COLOR 2,0,0
  59. 580 GOTO 700
  60. 590 IF P$(N) <> "#" THEN 630
  61. 600 PRIORITY(N)=0 : COST(N)=0 : HOURS(N)=0 : P$(N)=""
  62. 610 LOCATE 15,1:COLOR 13,0,0:PRINT "CURRENT INTERSECTION REMOVED   ":COLOR 2,0,0
  63. 620 GOTO 700
  64. 630 HOLD=PRIORITY(N):LOCATE 6,1:COLOR 2,0,0:INPUT "PRIORITY       ";PRIORITY(N)
  65. 640 IF PRIORITY(N) = 0 THEN PRIORITY(N)=HOLD
  66. 650 HOLD=COST(N) : INPUT "ESTIMATED COST ";COST(N)
  67. 660 IF COST(N) = 0 THEN COST(N)=HOLD
  68. 670 HOLD=HOURS(N) : INPUT "ESTIMATED HOURS";HOURS(N)
  69. 680 IF HOURS(N) = 0 THEN HOURS(N)=HOLD
  70. 690 PRINT " "
  71. 700 I=4
  72. 710 LOCATE I,16 : PRINT "                                        "
  73. 720 I=I+1
  74. 730 IF I<9 THEN 710
  75. 740 GOTO 310
  76. 750 N=0 : CUMCOST(1)=COST(1) : CUMHOURS(1)=HOURS(1)
  77. 760 FOR I=2 TO 100:J=I-1:CUMCOST(I)=CUMCOST(J)+COST(I):CUMHOURS(I)=CUMHOURS(J)+HOURS(I):NEXT I:GOTO 40
  78. 770 CLS : COUNT=0
  79. 780 COLOR 9,0,0 : PRINT "  #  PRORITY  PROJECT                               HOURS     COST     CUM-COST" : COLOR 2,0,0
  80. 790 PRINT  " "
  81. 800 N=N+1 : COUNT=COUNT+1
  82. 810 PRINT USING "###     ";N;
  83. 820 PRINT USING "###   ";PRIORITY(N);
  84. 830 PRINT USING "\                                \";P$(N);
  85. 840 PRINT USING "######## ";HOURS(N);
  86. 850 PRINT USING "######.## ";COST(N);
  87. 860 PRINT USING "########.##";CUMCOST(N)
  88. 870 IF COUNT = 20 THEN 890
  89. 880 GOTO 800
  90. 890 COLOR 20,0,0 : PRINT "PRESS ANY KEY TO CONTINUE" : COLOR 2,0,0
  91. 900 A$=INKEY$: IF A$="" THEN 900
  92. 910 IF (CUMCOST(N) = CUMCOST(N+1)) AND (CUMHOURS(N) = CUMHOURS(N+1)) THEN 40
  93. 920 IF N < 100 THEN 770 ELSE 40
  94. 930 LOCATE 21,1 : COLOR 28,0,0 : PRINT "       S O R T I N G                  "
  95. 940 FOR I=1 TO 100
  96. 950 IF PRIORITY(I) = 0 THEN PRIORITY(I)=999
  97. 960 NEXT I
  98. 970 FOR ISORT=1 TO 99
  99. 980 LOCATE 4,60:COLOR 9,0,0:PRINT DATE$:LOCATE 6,60:COLOR 6,0,0:PRINT TIME$
  100. 990 FOR JSORT = ISORT TO 100
  101. 1000 IF PRIORITY(ISORT) <= PRIORITY(JSORT) THEN 1020
  102. 1010 SWAP P$(ISORT), P$(JSORT)       : SWAP PRIORITY(ISORT), PRIORITY(JSORT) :       SWAP HOURS(ISORT), HOURS(JSORT) : SWAP COST(ISORT), COST(JSORT)
  103. 1020 NEXT JSORT
  104. 1030 NEXT ISORT
  105. 1040 FOR I=1 TO 100
  106. 1050 IF PRIORITY(I) = 999 THEN PRIORITY(I) = 0 ELSE PRIORITY(I) = I
  107. 1060 NEXT I
  108. 1070 N=0 : CUMCOST(1)=COST(1) : CUMHOURS(1)=HOURS(1)
  109. 1080 FOR I=2 TO 100 : J=I-1 : CUMCOST(I)=CUMCOST(J)+COST(I) : CUMHOURS(I)=CUMHOURS(J)+HOURS(I) : NEXT I : GOTO 40
  110. 1090 LOCATE 21,1 : COLOR 22,0,0 : PRINT "F I L E   B E I N G   W R I T T E N   T O   D I S K" : COLOR 2,0,0 : OPEN "O",#2,"A:PROJECTS.DAT"
  111. 1100 FOR N=1 TO 100 : WRITE #2,N,P$(N),PRIORITY(N),HOURS(N),COST(N),CUMCOST(N),CUMHOURS(N) : NEXT N
  112. 1110 CLOSE #2 : GOTO 40
  113. 1120 COLOR 11,0,0:LOCATE 12,40:PRINT "P R I N T   O P T I O N S"
  114. 1130 LOCATE 14,40:PRINT "F     FORMAL REPORT"
  115. 1140 LOCATE 16,40:PRINT "W     WORK REPORT"
  116. 1150 LOCATE 18,40:PRINT "C     COMPRESSED WORK REPORT"
  117. 1160 LOCATE 21,1:COLOR 22,0,0:PRINT "E N T E R   P R I N T   O P T I O N   ":COLOR 2,0,0
  118. 1170 LOCATE 6,60:COLOR 6,0,0:PRINT TIME$:Z$=INKEY$: IF Z$="" THEN 1170
  119. 1180 IF Z$ = "F" OR Z$ = "f" THEN 1190 ELSE 1200
  120. 1190 LPRINT CHR$(27)"G" : LPRINT CHR$(27)"E" : GOTO 1220
  121. 1200 IF Z$ = "C" OR Z$ = "c" THEN 1210 ELSE 1220
  122. 1210 LPRINT CHR$(15)
  123. 1220 LOCATE 21,1:COLOR 28,0,0:PRINT "SET PRINTER AND PRESS ENTER KEY TO START"
  124. 1230 LOCATE 6,60:COLOR 6,0,0:PRINT TIME$:Z$=INKEY$: IF Z$="" THEN 1230
  125. 1240 LOCATE 21,1:COLOR 28,0,0:PRINT "P R I N T I N G   A T   P R I N T E R   "
  126. 1250 LOCATE 14,40:PRINT "                   "
  127. 1260 LOCATE 16,40:PRINT "                 "
  128. 1270 LOCATE 18,40:PRINT "                            "
  129. 1280 LOCATE 12,40:PRINT "                         "
  130. 1290 WIDTH "LPT1:",132:N=1
  131. 1300 LPRINT " "
  132. 1310 LPRINT CHR$(27)"W"CHR$(1) "                 HOUSEHOLD PROJECTS PRIORITY LIST" ; CHR$(27)"W"CHR$(0)
  133. 1320 LPRINT " "
  134. 1330 LPRINT " "
  135. 1340 LPRINT " "
  136. 1350 LPRINT "  JOB   PRIORITY    PROJECT                                                   HOURS    CUMHOURS         COST       CUMCOST"
  137. 1360 LPRINT "  ---   --------    -------------------------------------------------------   -----    --------        -----       -------"
  138. 1370 LPRINT " "
  139. 1380 FOR I=N TO N+49
  140. 1385 LOCATE 6,60:COLOR 6,0,0:PRINT TIME$
  141. 1390 LPRINT USING " ###    ";I;
  142. 1400 LPRINT USING "####        ";PRIORITY(I);
  143. 1410 LPRINT USING "\                                                   \";P$(I);
  144. 1420 LPRINT USING "##########  ";HOURS(I);
  145. 1430 LPRINT USING "##########  ";CUMHOURS(I);
  146. 1440 LPRINT USING "#########.## ";COST(I);
  147. 1450 LPRINT USING "#########.##";CUMCOST(I)
  148. 1460 NEXT I
  149. 1470 FOR J=1 TO 7
  150. 1480 LPRINT " "
  151. 1490 NEXT J
  152. 1500 IF (CUMCOST(50) = CUMCOST(51)) AND (CUMHOURS(50) = CUMHOURS(51)) THEN 1520
  153. 1510 IF N = 51 THEN 1520 ELSE N=51 : GOTO 1300
  154. 1520 LPRINT CHR$(27)"H"; CHR$(18); CHR$(27)"F" : WIDTH "LPT1:",80 : GOTO 40
  155. 1530 CLS : COLOR 2,0,0 : PRINT " EXITING TO DOS " : SYSTEM
  156. 1540 CLS : COLOR 2,0,0 : END
  157.